Projekt Pronal Projekt Pronal

Kazalo:
Sofinasiranje projekta
Starejši - zbirka nalog...
Tekmovanja...
Tekmovanja - dopolni...
Tekmovanja - Parsons...
Tekmovanja - popravi...
Starejši - učbenik
Funkcije
If stavek
Izpisi
Množice
Nizi
Pisanje in popravljanje programa
Seznami in nizi
Slovarji
Spoznajmo Python
Uvod v funkcije
Zanka for
Zanka while
Pisanje in popravljanje programa

Pisanje in popravljanje programa


Kratki programi

1. podnaloga

Program je zaporedje ukazov, ki ima običajno nek stranski učinek. Stranski učinki so npr. izpisi, ki smo jih spoznali v prejšnjem poglavju Izpisi. V naslednjem poglavju bomo spoznali funkcije, ki praviloma stranskih učinkov nimajo.

Sedaj vemo, da smo v prejšnjem poglavju napisali že nekaj programov. Odlično!

Sedaj napišite program, ki bo izpisal pesem "Vse najboljše". Najprej naj program vpraša uporabnika po imenu, potem pa naj mu izpiše pesem z njegovim imenom. Ker pridevnikom v slovenščini spreminjamo končnice, naj program predvideva, da je uporabnik moški. Izpis naj se zgleduje po spodnjem primeru.

Pozdravljeni! Kako vam je ime? Matevž
Vse najboljše zate,
vse najboljše zate,
vse najboljše dragi Matevž,
vse najboljše zate!

Ko se bomo naučili uporabljati stavek if, boste znali napisati program, ki bo upošteval oba spola.

Uradna rešitev

ime = input("Pozdravljeni! Kako vam je ime? ")
print('Vse najboljše zate,')
print('vse najboljše zate,')
print('vse najboljše dragi ' + ime + ',')
print('vse najboljše zate!')

Mleko

Kmet si mleko namolze sam, drugi pa mleko kupijo od kmeta. Kmet namolzeno mleko toplotno obdela in ga prelije v steklenice, ki jih nato zloži v škatle. V vsaki vrsti v škatli je enako število steklenic.

1. podnaloga

Program vpraša, koliko steklenic mleka je v eni vrsti ter koliko vrst je v škatli. Izpiše uporabnikove odgovore in vrne število, ki pove, koliko steklenic mleka je v eni škatli. Primer:

Pozdravljeni, bi radi vedeli, koliko steklenic mleka je v škatli?
Pa dajmo, izračunajmo.
Koliko steklenic mleka je v eni vrsti? 3
Koliko vrst je v škatli? 5
Koliko mislite, da je steklenic mleka v škatli? 14
Napisali ste, da je 3 krat 5 enako 14.
Pravilen odgovor: 15

Vendar naš program ne dela! Poskusite ga prevesti in ga popravite.

print("Pozdravljeni, bi radi vedeli, koliko steklenic mleka je v škatli?")
print("Pa dajmo, izračunajmo.")
steklenice_v_vrsti = input("Koliko steklenic mleka je v eni vrsti? ")
vrste = input("Koliko vrst je v škatli? ")
rezultat = input("Koliko mislite, da je steklenic mleka v škatli? ")
print("Napisali ste, da je', steklenice_v_vrsti, "krat", vrste, 'enako", rezultat + ".")
pravilen_rezultat = int(steklenice_v_vrsti) * int(vrste)
print("Pravilen odgovor:", pravilen_rezultat)

Uradna rešitev

print("Pozdravljeni, bi radi vedeli, koliko steklenic mleka je v škatli?")
print("Pa dajmo, izračunajmo.")
steklenice_v_vrsti = input("Koliko steklenic mleka je v eni vrsti? ")
vrste = input("Koliko vrst je v škatli? ")
rezultat = input("Koliko mislite, da je steklenic mleka v škatli? ")
print("Napisali ste, da je", steklenice_v_vrsti, "krat", vrste, "enako", rezultat + ".")
pravilen_rezultat = int(steklenice_v_vrsti) * int(vrste)
print("Pravilen odgovor:", pravilen_rezultat)

2. podnaloga

Sedaj pomagajmo kmetu. Kmet prešteje polne steklenice. Zanima ga, koliko škatel za 15 steklenic bo lahko napolnil.

Napišite program, ki bo izračunal število napolnjenih škatel.

Koliko steklenic si napolnil danes? 81
Napolnil boš 5 škatel.

Namig: uporabite operator // za celoštevilsko deljenje.

Uradna rešitev

steklenice = int(input("Koliko steklenic si napolnil danes? "))
skatle = steklenice // 15
print("Napolnil boš", skatle, "škatel.")

3. podnaloga

Kmet bi sedaj rad vedel, koliko steklenic mu ostane, ko napolni škatle po petnajst steklenic. Izračunaj število polnih steklenic, ki ostanejo, in izpiši to število.

Koliko steklenic si napolnil danes? 81
Ostalo ti bo 6 polnih steklenic.

Namig: Prilagodi program iz prejšnje podnaloge in uporabi operator, ki izračuna ostanek pri deljenju.

Uradna rešitev

steklenice = int(input("Koliko steklenic si napolnil danes? "))
ostanek_steklenic = steklenice % 15
print("Ostalo ti bo", ostanek_steklenic, "polnih steklenic.")
Mesto objave ob koncu projekta 15.9.2018